/**
  ******************************************************************************
  * @文件     i2s.h
  * @作者     hero_cao
  * @版本     V1.0.0
  * @日期     2025/06/18
  * @概要     i2s初始化库
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __I2S_H_
#define __I2S_H_

/* Includes ------------------------------------------------------------------*/
#include <stdint.h>


/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */
extern void (*i2s_tx_callback)(void);   /* I2S TX回调函数指针  */
extern void (*i2s_rx_callback)(void);   /* I2S RX回调函数指针  */

void iis_init(uint32_t std, uint32_t mode, uint32_t cpol, uint32_t datalen, uint32_t samplerate);    /* I2S初始化 */
void i2s_tx_dma_init(uint8_t* buf0, uint16_t num);   /* I2S TX DMA配置 */
void i2sext_rx_dma_init(uint8_t* buf0, uint16_t num);/* I2S ext RX DMA配置 */
void i2s_play_start(void);              /* I2S开始播放 */
void i2s_play_stop(void);               /* I2S停止播放 */
void i2s_rec_start(void);               /* I2S开始录音 */
void i2s_rec_stop(void);                /* I2S停止录音 */

#endif /* __I2S_H_ */

